home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / rec.games.mud.lp < prev    next >
Encoding:
Text File  |  1995-04-11  |  53.7 KB  |  1,196 lines

  1. Archive-name: games/mud-faq/lp
  2. Last-modified: 95/03/07
  3. Version: @(#) rec.games.mud.lp Frequently Asked Questions (FAQ) 1.2@(#)
  4. Posting-frequency: monthly
  5.  
  6.  
  7.  
  8.                rec.games.mud.lp
  9.         Frequently Asked Questions List (FAQ)
  10.       written by George Reese (Descartes of Borg) 940711
  11.             Last Modified: 95/03/07
  12.  
  13.           ******************************************
  14.  
  15. This is a list of Frequently Asked Questions on the news group
  16. rec.games.mud.lp.  All readers are strongly advised to read this FAQ
  17. before posting questions to the news group, as your question may
  18. already be answered in here.  This FAQ will be posted regularly to
  19. rec.games.mud.lp.
  20.  
  21. The rec.games.mud.lp FAQ is divided up into four sections:
  22.     Section I:    Introduction
  23.     Section II:    Playing LPMuds
  24.     Section III:    Coding on an LPMud
  25.     Section IV:    Starting Your Own LPMud
  26.     
  27. In detail:
  28. Section I (Introduction)
  29.     I.1    What sort of posts belong in rec.games.mud.lp?
  30.     I.2     What is an LPMud?
  31.     I.3     Isn't Amylaar an LPMud?
  32.     I.4     Which is the real LPMud?
  33.     I.5     How did LPMuds get started?
  34.     I.6    What do the terms "alpha testing", "beta testing", and
  35.         "fully open" mean?
  36.     I.7    Where are some ftp sites with LPMud stuff?
  37.     I.8    Is there anything about MUDs on WWW?
  38.     I.9    What are some MUD related mailing lists?
  39.  
  40. Section II (Playing LPMuds)
  41.     II.1    How do I play an LPMud?
  42.     II.2    How do I get a list of LPMuds?
  43.     II.3    Are all MUDs in English?
  44.     II.4       Ok, the MUD is asking me for a name, what do I do?
  45.     II.5       They told me I had to register!
  46.     II.6       Name and password set, what next?
  47.     II.7       I don't want anyone knowing my email address!
  48.     II.8     Is it asking me for MY gender?
  49.     II.9    What does it mean by race?
  50.     II.10    What is a class? What is a guild?
  51.     II.11    I am in the MUD, what do I do?
  52.     II.12    What are some common commands?
  53.     II.13    What is an alias?
  54.     II.14     Why doesn't the MUD save my equipment when I quit?
  55.     II.15    What else is there?
  56.     II.16    Why is the MUD admin ignoring me?
  57.  
  58. Section III (Coding on an LPMud)
  59.     III.1    What is coding?
  60.     III.2    What is LPC?
  61.     III.2    How do I get to code on an LPMud?
  62.     III.3    How do I learn to code?
  63.     III.4    What is TMI-2?
  64.     III.5    How do I learn to code a room/monster/weapon/armour...?
  65.     III.6    But you said that all MUDs use LPC!
  66.     III.7    Can I take my area from LPMud X to LPMud Y?
  67.     III.8    My code is not working!  How do I fix it?
  68.     III.9    What is an efun? an lfun? a kfun? a simul efun?...
  69.     III.10    Can I code offline?
  70.     III.11    How do I put my code into the game?
  71.  
  72. Section IV (Starting Your Own LPMud)
  73.     IV.1    How do I start my own LPMud?
  74.     IV.2    How do I find a site?
  75.     IV.3    Can I charge players to play my MUD?
  76.     IV.4    Why can't I use any of the other servers or mudlibs?
  77.     IV.5    Our system needs upgrading, can't I get donations?
  78.     IV.6    I have a site, now how do I choose a server/mudlib?
  79.     IV.7    Where can I find all this stuff?
  80.     IV.8    Help! I can't get my driver to compile, what should I do?
  81.     IV.9    I have applied patch XXX, and now nothing works anymore.
  82.     IV.10    Can a MUD server run on DOS?
  83.     IV.11    Can a MUD run under AmigaOS? OS/2? Windows NT? etc...?
  84.  
  85. This FAQ is not intended to be a substitute for the general 3 part MUD
  86. FAQ's.  I strongly recommend people new to MUDs read those first.
  87. This FAQ deals with a particular class of MUDs known as LPMuds, and
  88. therefore does not even attempt to cover information important to
  89. other classes of MUDs.
  90.  
  91. Credits for information in this FAQ beyond the information provided by
  92. the author:
  93. Abigail, Stig Bakken, Jose Corrales, Felix Croes, Joshua P. Dady, Lars
  94. Duening, Monique Girgis, Pelle Johansson, Andru Luvisi, Joern
  95. Rennecke, Danne A Solli, Christina Sterman-Hack, Lars Syrstad, Pekka
  96. Timonen, Linus Tolke, John Viega, Petri Virkkula
  97.  
  98.                Section I: Introduction
  99.             ******************************
  100. *** I.1 What sort of posts belong in rec.games.mud.lp?
  101. ALMOST anything dealing with LPMuds.  Rule number 1 being that the
  102. topic of your posts must someway affect the LPMud community.  We do
  103. not care about Dikus and MOOs and so on.  They may be very nice
  104. servers, but if we wanted to be reading about them, we would be
  105. reading rec.games.mud.diku and so on.
  106.  
  107. The second rule is to avoid posting on the following topics:
  108.     a) Where is CheeseMUD?  I have not been able to connect all day!
  109.     If it is going to be down a long time, the admins should
  110.     post to rec.games.mud.announce.  Otherwise, it is either
  111.     a short connection loss or it is just your problem.  DO NOT
  112.     POST THESE QUESTIONS HERE OR ANYWHERE.
  113.     b) Advertisements for new MUDs.
  114.     These belong in rec.games.mud.announce
  115.     c) FascistMUD's admins are such jerks!  They cheated...
  116.     Why would you post this?  I guarantee you will accomplish
  117.     nothing by this.  First of all, ALL MUD admins have bad
  118.     days where they may do something very unfair.  It is the
  119.     nature of things.  So you may be the unfortunate victim
  120.     of a rare set of circumstances rather than of a mean admin.
  121.     Secondly, even if the MUD admin is a jerk, no one on this
  122.     newsgroup cares.  People will play such MUDs either because
  123.     the admin is damn good at creating a game or because the
  124.     players are other jerks who like the atmosphere of lawlessness.
  125.     Players like you may login from time to time, but eventually
  126.     they will figure it out.
  127.     d) Don't posts mudsex sessions.  Those are for rec.games.mud.tiny.
  128.  
  129. *** I.2 What is an LPMud?
  130. An LPMud is one of many classes of MUDs, or multi-user domains.  A
  131. multi-user domain is defined solely with respect to its ability to allow
  132. multiple real individuals to come together in some sort of
  133. environment.  Although the most common environment is a gaming
  134. environment, MUDs need not be games.  In fact, among other uses of
  135. MUDs that I know of, there are virtual colleges, a MUD where victims
  136. of abuse can come together in a productive environment, and MUDs
  137. designed to bring students with disabilities into social contact with
  138. one another and others.  The single defining theme for MUD is
  139. therefore being a virtual environment where multiple people come in
  140. contact.
  141.  
  142. An LPMud specifically allows the users to manipulate the environment
  143. through a language called LPC.  LPMuds are computer programs which
  144. listens to the internet for people attempting to connect, reads LPC
  145. files, and acts upon those LPC files according to the rules of the LPC
  146. language to create the virtual environment.  Currently, I know of 6
  147. major LPMud servers: CD, DGD, LPC4, LPMud, MudOS, and Urimud.
  148.  
  149. With most other MUD games, users do not have access to create in the
  150. language used by the MUD.  LPC is used not only to give users such an
  151. ability, but it is also designed with both ease and power in mind. 
  152.  
  153. *** NOTE ***
  154. Rust has informed me that Urimud LPC has been renamed ROC.  If it is
  155. in fact worthy of being renamed, then it is not an LPMud.  Until I
  156. have more information on it, however, it will be included here.
  157.  
  158. *** I.3 Isn't Amylaar an LPMud?
  159. Amylaar is a person, not an LPMud :).  He is the primary author and torch
  160. bearer of the LPMud name.  Given the generic sound of the term "LPMud"
  161. these days, people often refer to LPMud 3.2 as the Amylaar driver.
  162.  
  163. *** I.4 Which is the real LPMud?
  164. LPMud 3.2 is the official continuation of the original LPMud server,
  165. however, all servers listed above (with the possible exception of
  166. Urimud) are equally real.  All have two traits that make a MUD an LPMud:
  167.     1. The environment is created through files written in LPC.
  168.     2. The environment can change as new files are added and old
  169.        ones changes, even while the game is running.
  170.  
  171. *** I.5 How did LPMuds get started?
  172. I am not the greatest historian, and may be wrong on some important
  173. facts here, but this is the first shot at the FAQ, so here goes...
  174. Once upon a time, there was Lars Pensj÷ (the ÷ being an o with
  175. two dots over it...  to an American, that is roughly pronounced "Penscha"), who
  176. wrote the original LPMud coming from an AberMUD background.  If you
  177. play current LPMud's of the LPMud type, you won't really notice much
  178. of a difference from the original.  From the coders' point of view
  179. however, LPC is nothing like it was with the original.  For a long
  180. time, there was only LPMud run by Lars with patches by everyone under
  181. the sun.  The original LPMud run by Lars was called Genesis.  Its base
  182. town called Larstown was taken mostly from AberMUD.
  183.  
  184. Eventually, others got tired of waiting to see their patches added to
  185. Lars' driver, and Lars was working on version 3.0 of his driver as he
  186. was gradually losing interest in the project altogether.  Version 3.0
  187. turned out to be buggy as hell, and generally unworkable for a real
  188. LPMud.  CD, LPC4, LPMud, and MudOS, all derive from this server as
  189. people saw good things in it and began creating working versions of
  190. LPMud 3.0 after their own concepts of MUD server design.  
  191.  
  192. Unlike the others, DGD was created from scratch.  It therefore is
  193. missing a lot of the baggage which has come down from the beginning of
  194. time in the other drivers.  Urimud, on the other hand, is derived from
  195. LPMud 2.4.5.
  196.  
  197. *** I.6 What do the terms "alpha testing", "beta testing", and "fully
  198.     open" mean?
  199. Generally, a MUD goes through three basic stages.  The first stage,
  200. "alpha testing", is a developmental mode in which players are rarely
  201. allowed access to the MUD.  Things are in such a disarray or in a
  202. flurry of changes that playing a consistent game is impossible.  In
  203. the "beta testing" stage, a MUD is generally opened to players solely
  204. for the sake of testing that the MUD works.  Without actual play
  205. testing, it is impossible to determine if a MUD can handle being fully
  206. open.  MUDs in either of the above stages generally will not
  207. compensate players for mishaps due to bugs in the game, and they will
  208. often even purge players from the MUD.  The purging is done either
  209. because old player objects are no longer compatible with new ones or
  210. because the MUD needs to be re-balanced to fit new code.
  211.  
  212. In the final stage, "fully open", a MUD is just that, fully open.
  213. That means you can expect certain standards from the MUD, including
  214. such things as not dying from bugs.  Nothing is ever bug free, so
  215. generally fully open MUDs will compensate players for mishaps which
  216. occur because of a bug.  On the flip side, these MUDs usually also
  217. smite players who gain from bugs in the system.
  218.  
  219. *** I.7 Where are some ftp sites with LPMud stuff?
  220. See Section IV: Where can I find all of this stuff?
  221.  
  222. *** I.8 Is there anything about MUDS on WWW?
  223. The following is a list of LPMud related WWW URL's, a few of which are
  224. even written in the MUD programming language LPC:
  225.  
  226. http://bat.cs.hut.fi/
  227. http://tmi-2.lp.mud.org:5550/
  228. http://www.lysator.liu.se:7500/no/mud/main.html
  229. http://www.imaginary.com/
  230. http://www.pvv.unit.no/viking/
  231.  
  232. *** I.9 What are some MUD related mailing lists?
  233. The following lists use the majordomo software.  To subscribe, mail
  234. majordomo at the sites mentioned with "subscribe list-name" in the
  235. body of your mail.  To get more information on the lists below, mail
  236. majordomo at the site mentioned with "info list-name" in the body of
  237. the mail.  Naturally, list-name should be replaced with the
  238. appropriate list name.
  239.  
  240. intermud@imaginary.com
  241. lpc-language@imaginary.com
  242. nightmare-mudlib@imaginary.com
  243.  
  244. Try a mail to Majordomo@ibr.cs.tu-bs.de with ``help'' in the body
  245. to get information on mailing lists for the LPMud 3.2 and 3.2.1
  246. drivers.
  247.  
  248. Individual MUDs may have their own mailing lists as well.  Check with
  249. your LPMud for details.  For people running lists with an audience
  250. beyond a single MUD, please let me know of your list.  If you use list
  251. software not listed, I need the name of the list, how to subscribe,
  252. and how to get more information.
  253.  
  254.               Section II: Playing LPMuds
  255.             ******************************
  256.  
  257. *** II.1 How do I play an LPMud?
  258. You must first find the internet address of the MUD you wish to play.
  259. Once you find the address, most often people use the "telnet" program
  260. to connect to this address.  The MUD FAQ has an excellent section on
  261. MUD clients, which are alternatives to the plain vanilla "telnet"
  262. program.  However, generally speaking, with "telnet", you can access
  263. the MUD of your choice by issuing the command:
  264.  
  265.     telnet address port
  266.  
  267. For example (% is considered your prompt):
  268.  
  269.     % telnet nightmare.imaginary.com 1701
  270.     % telnet 129.10.114.86 5555
  271.  
  272. And so on.  Some telnet programs do not allow you to pass arguments at
  273. the command line.  Instead, you get something like this:
  274.  
  275.     % telnet
  276.     telnet> open
  277.     (to) nightmare.imaginary.com 1701
  278.  
  279. Once you succeed, you will get a welcoming screen which should say the
  280. name of the LPMud and ask you for a name.  A common error people will
  281. make is leaving off the number at the end.  If you do that, the telnet
  282. program assumes you mean to go to port 23, and it will give you a
  283. login prompt to the host machine.
  284.  
  285. In addition, *some* VMS telnet programs use the following syntax:
  286.     
  287.     telnet 129.16.50.30/port=1701
  288.  
  289. *** II.2 How do I get a list of LPMud's?
  290. I know of no place that lists ONLY LPMud's, however, there is Doran's
  291. Mudlist, which is produced semi-regularly and lists MUDs by type.  You
  292. thus have all your LPMuds grouped together.  You can find it posted to
  293. rec.games.mud.announce.
  294.  
  295. Additionally, there are many dynamic world wide web mudlists available.
  296. The two largest are:
  297.     http://www.imaginary.com:1696
  298.     http://tmi-2.lp.mud.org:5550
  299. Keep in mind, however, these lists hold only LPMuds which support
  300. intermud communication.  They are by no means full lists.  You will
  301. also find that many MUDs on this list are in some sort of
  302. developmental stage.
  303.  
  304. *** II.3 Are all MUDs in English?
  305. No.  To provide a list of such MUDs is beyond the scope of this FAQ.
  306. Check the mudlists for a full and current listing.  However, I would
  307. like to know about other languages which might be supported in the
  308. LPMud world, so please mail me if you have a MUD in a language in
  309. other than English, German, or Swedish.
  310. Known languages:
  311. Dutch
  312. English
  313. German
  314. Swedish
  315.  
  316. *** II.4 Ok, the MUD is asking me for a name, what do I do?
  317. Make up a name.  Avoid using your real name or common names, real and
  318. mythical.  You want not only to give character to your persona, but
  319. you also do not want everyone saying "Hey! Aren't you Bob from
  320. JustAnotherMUD"?  I chose the name Descartes, because I was a
  321. philosophy major in college.  In general, it is safe to assume any
  322. name consisting only of more than two characters and less than ten (a
  323. to z) is acceptable on any MUD.  Some MUDs allow really long names with
  324. spaces, apostrophes, hyphens, and other marks.  Others are in between
  325. the extremes.  Try the name you want.  If the MUD will not allow it,
  326. it will tell you, and it should tell you why.
  327.  
  328. After making up a name, one of two things will happen.  Either you
  329. will be prompted for a password, meaning you have picked a name
  330. someone else is using, or it will ask you to create a password,
  331. meaning you are a new character.  If the first thing happens, just try
  332. again with another name.  If the second happens, you are in good
  333. shape.
  334.  
  335. To create passwords, make up one different than the one you
  336. use to access computers.  Although MUDs encrypt passwords for storage,
  337. nothing prevents an unscrupulous MUD admin from intercepting that
  338. password and using it for unethical purposes.  It is also recommended that
  339. you use a password with numbers and mixed upper and lower case
  340. letters in it.
  341.  
  342. *** II.5 They told me I had to register!
  343. Some MUDs require all their players to register before being allowed
  344. to play.  Also, it may be the case that someone from the same place as
  345. you has been causing trouble, so the admins of the MUD in question
  346. have decided to require only people from that site to register.  If
  347. this is the case with the MUD you wish to play, simply follow the
  348. instructions they give.  In most cases they will give you an email
  349. address where you should send your registration.
  350.  
  351. *** NOTE ***
  352. There seems to be some difference of opinion on this one, so I decided
  353. to quote one of the comments:
  354.  
  355. "Well, I have to disagree with this section: E-mail addresses are very
  356. difficult to verify in bulk, and really not worth the trouble unless
  357. you perform site registration.  I believe the only people you have a
  358. legitimate need for an email address from is your wizards.  Other than
  359. that, knowing the ip they log in from should be more than sufficient."
  360.     -Rust (John Viega)
  361.  
  362.  
  363. *** II.6 Name and password set, what next?
  364. This is where you get to see why there is so little in common among
  365. LPMuds from the player's point of view.  Some LPMud's will ask you a
  366. series of questions about who you are and what sort of character you
  367. would like.  Others ask nothing more.  Among the questions you might
  368. be asked are:  what is your email address?  what is your real name?
  369. what gender would you like to play? what race would you like to be?
  370. what class would you like to be? etc.
  371.  
  372. *** II.7 I don't want anyone knowing my email address!
  373. MUD Administrators have a legitimate need to know your email address.
  374. No one else does.  If a MUD requires you to give your email address it
  375. should either offer you the option of keeping it private, or it should
  376. automatically keep the email private.  If they do not keep your email
  377. private and you desire privacy, do not play the MUD.  Do not complain,
  378. however, that they ask for it.
  379.  
  380. *** II.8 Is it asking me for MY gender?
  381. No.  The game wants to know what gender you would like your
  382. *character* to be.  This means you can play a character of the
  383. opposite gender, your own gender, or one of the alternate gender types
  384. which might be offered.  The other side of the coin to this, however,
  385. is that you should *never* count on other people in real life being
  386. the gender of the character they play.
  387.  
  388. *** II.9 What does it mean by race?
  389. Many LPMuds have a feature called character races.  The term "race" in
  390. these instances is not the same as the term used in modern society.
  391. In fact, the LPMud term race would more correctly be referred to as
  392. species.  In fantasy type LPMuds, you will often see a selection of
  393. "races" like human, orc, artrell, gnome, etc.  When you are asked to
  394. choose a race, a list of possible races should be provided for you.
  395.  
  396. *** II.10 What is a class?  What is a guild?
  397. In general, a class is a grouping of players with common abilities.  A
  398. guild as well can be said to have the same definition.  Many MUDs, if
  399. they use either of these concepts at all, add some very individual
  400. nuances.  To MUDs which do not have classes or guilds, the concepts
  401. are naturally irrelevant.  Those which have one or the other are often
  402. using the terms in an interchangeable fashion.  Finally, those MUDs
  403. which have both often define class in a more generic manner than
  404. guild.  For example, on Nightmare, a class is like a profession and
  405. the guild like a particular job.  You might have people in the fighter
  406. class who are in the templars guild, and others who are in the rangers
  407. guild.  In short, the guild is a way of specializing your class abilities.
  408.  
  409. Other MUDs allow "multi-classing", which may mean joining multiple
  410. guilds, classes, or both.  It is always best to check out the "help
  411. guild" and "help class" command on any given MUD to see how it defines
  412. these terms.
  413.  
  414. *** II.11 I am in the MUD, what do I do?
  415. There is no one answer to this question, as the answer will vary from
  416. MUD to MUD.  No matter what, however, you should see if the MUD has a
  417. "faq" command to get a listing of that MUD's frequently asked
  418. questions.  In addition, you should learn how to use the "help"
  419. command as well as find out about the rules governing that MUD.
  420.  
  421. *** II.12 What are some common commands?
  422. The following commands exist on virtually all LPMuds:
  423. (Naturally, these are not cmmands on non-English MUDs)
  424.  
  425. help ([topic])
  426. Gives you help.  The () indicate that you do not need to type in a
  427. topic.  If you do, you get help on that topic.  If you just type help,
  428. you will either get help on where to find other help, or you will be
  429. put into a help menu.
  430.  
  431. tell [player] [message]
  432. Sends the string [message] to the player whose name is [player]
  433. anywhere on the MUD.  Some LPMuds do not allow players to tell to one
  434. another as it is viewed unrealistic.
  435.  
  436. say [message]
  437. Sends [message] to everyone who is in the same MUD room as you.
  438. This command is almost always aliased to "'", such that "'hi!" is the
  439. same thing as typing "say hi!".
  440.  
  441. who
  442. Gives you a list of everyone connected to that MUD.
  443.  
  444. look
  445. Gives you a description of the MUD room in which you are in.
  446.  
  447. look at [object]
  448. Gives you a description of the object in question.
  449.  
  450. II.13 What is an alias?
  451. As with UNIX, most LPMuds provide some sort of method for creating
  452. "aliases".  An alias is simply a way in which you can have a easy to
  453. type command represent another command.  For example, you will often
  454. want to type the phrase "get all from corpse" on any LPMud.  It is
  455. much easier to make an alias so that whenever you type "gac", the
  456. LPMud interprets that as "get all from corpse".
  457.  
  458. In order to create aliases, you need to know how your particular MUD
  459. handles aliasing.  Older MUDs use a device called a quicktyper.  Newer
  460. MUDs have alias commands built in.  Try issuing "help alias" and "help
  461. quicktyper" commands in order to find out how aliases are handled on
  462. your MUD.  If your MUD uses quicktypers, you will have to go find the
  463. quicktyper object before you can create aliases.  Ask any other player
  464. on such a MUD where there quicktyper can be found.
  465.  
  466. *** II.14 Why doesn't the MUD save my equipment when I quit?
  467. Balancing a MUD so that everyone is not dripping in wealth and that
  468. all players actually have a chance to die is hard work.  It is nearly
  469. impossible.  One thing that makes it easier on balance admins is the
  470. non-permanance of objects (in other words, objects do not save).  For
  471. a MUD to save equipment, it requires a complete rethink of the way
  472. that MUD is balanced.
  473.  
  474. It goes beyond the difficulty of balancing the MUD however.  There are
  475. MUDs which do save equipment.  The character of the game itself
  476. however gets changed by what appears to be a simple change.  Therefore
  477. asking your mud admin, "can't you change the game so that it saves
  478. equipment" is not so simple or limited as it might seem.  To make such
  479. a change to an existing MUD would actually change that MUD in such a
  480. way as it would be unfamiliar to you.
  481.  
  482. Putting it simply, saving equipment is not an impossible thing.
  483. However, the consequences of doing so are way beyond what most players
  484. are capable of realising unless they have been involved with MUDs
  485. before.  To do so on an existing MUD would change it forever.  Every
  486. now and then, new MUDs appear with this feature.  But most do not and
  487. will not.
  488.  
  489. *** II.15 What else is there?
  490. Explore the MUD!  Most gaming MUDs have places called "newbie" areas
  491. which are simplistic places for people new to the game to go and get
  492. the hang of things.  When you first log in to a new MUD, you should
  493. ask the others where the newbie area is.  Also, read the login screen
  494. and news which scrolls across your screen at login time, as they
  495. contain important information about characteristics unique to the MUD
  496. you are playing.  
  497.  
  498. Ask people questions.  Just make sure you have read the help files
  499. first, or you will be sure to annoy someone.  In addition, try not to
  500. choose a single person for your queries.  Constantly being asked
  501. questions by the same person can often annoy people as easily as
  502. stupid questions.
  503.  
  504. *** II.16 Why is the MUD admin ignoring me?
  505. Admins in particular are prone to a MUD disease called "idling".  This
  506. means that the lights are on, but nobody is home.  An idle person is
  507. simply someone logged in to the game, but who is perhaps not actually
  508. at their computer terminal.  That person is thus not really ignoring
  509. your question, since the person is never actually seeing it.
  510.  
  511. If the admin is not idling, chances are that person is being
  512. overwhelmed with questions or is actually coding online.  Many LPMuds
  513. will tell you that the person to whom you are talking is "idle" or
  514. "editing".  If you get that response to a tell, do not expect an
  515. answer back right away.  In addition, if it says the admin is editing
  516. (or anyone else for that matter), then it is generally considered rude
  517. to continue telling to that person as it makes it difficult for the
  518. person to edit.
  519.  
  520. Amylaar says:
  521. "Another possibility is that this person is at the terminal, but the
  522. window for the mud you play is not in the visible area, or it is, but
  523. players are shouting so much that this window is mostly ignored.  Some
  524. people don't mind being 'beeped' (sending a ^G in a tell or say, or
  525. with a special tool), and will then notice that there is something in
  526. this window. Note, bowever, that others feel very strongly against
  527. this, so that it is a good idea to check out first with somebody
  528. resposive if it is right to beep that particular person."
  529.  
  530.            Section III: Coding on an LPMud
  531.              ******************************
  532.  
  533. *** III.1 What is coding?
  534. Coding is writing files for the computer to read.  In the case of
  535. LPMuds, this means writing files in a computer language called
  536. LPC.  The LPMud server reads these files and interprets what those
  537. files are telling the computer to do when certain player actions
  538. occur.  Often that means things like displaying a
  539. description of a room when you enter it and so on.  The LPC files
  540. which make up the backbone of any MUD are called the mudlib.  Coders
  541. use the mudlib code in such a way as not to have to rewrite many of
  542. the most common instructions over and over again.  With most good
  543. mudlibs, therefore, there is more creation involved than coding.
  544.  
  545. *** III.2 What is LPC?
  546. LPC is an object building language created by the author of the
  547. original LPMud server, standing for Lars Pensj÷ C.  Structurally, it
  548. is much like the more popular programming language C.  Designed with
  549. LPMud object building specifically in mind, it puts the power of game
  550. building in the hand of the general user.
  551.  
  552. *** III.3 How do I get to code on an LPMud?
  553. Policies vary from MUD to MUD.  Some MUDs require you to make a
  554. certain player level before being allowed to code.  Others require you
  555. to pass a test or fillout an application.  Still others just let
  556. anyone come on and code.  If you really want to get in on things, the
  557. best thing to do is either to talk to the admins of the MUD you are
  558. playing, or go to TMI-2 (tmi-2.lp.mud.org 5555) and check out the
  559. board they have of new MUDs starting out needing coders.  Keep in mind
  560. that many MUDs which are open to players already have more coders than
  561. they need.
  562.  
  563. *** III.4 How do I learn to code?
  564. There are two parts to learning how to code on your MUD: 1) learning
  565. LPC and 2) learning your MUD's mudlib.  Each MUD should have detailed
  566. documentation on part 2.  Two LPC textbooks, a beginner and an
  567. intermediate, exist to take care of part 1.  You can get the textbooks
  568. via ftp at:
  569.     ftp://ftp.imaginary.com/pub/LPC/doc
  570. They come in many different formats.
  571.  
  572. Documentation, however, will not really do anything without looking at
  573. examples, practicing, and talking to more experienced coders.  Examples
  574. should be everywhere on your MUD (though they are not necessarily good
  575. examples).  Practicing is simply just copying code you do not
  576. understand, making small changes to it to see what they do, and
  577. learning from what happens.  To learn more about how to code from
  578. others, talk to more experienced coders on your own MUD or visit TMI-2
  579. which has a centre designed for teaching LPC.
  580.  
  581. *** III.5 What is TMI-2?
  582. TMI-2 is a place centered around the advancement of LPMud "technology"
  583. and the promotion of its use in all spheres.  TMI-2 stands for "The
  584. MUD Institute".  You will often find many of the people responsible for
  585. creating most of the C and LPC servers on which the MUD world runs,
  586. and at times, they might even not be idle!  It is an excellent place
  587. to discuss ideas and learn more about LPC and LPMuds.
  588.  
  589. *** III.6 How do a I code a monster/room/weapon/armour...
  590. Read your MUD's documentation, as this varies greatly from MUD to MUD.
  591.  
  592. "Also, questions like that are almost impossible to answer in any
  593. other way than showing an example.  Thus, a much better question is:
  594. 'Where can I find an example of how to create a XXX?' or 'I don't
  595. quite understand this part of the example on how to...'"
  596.     -Drevreck (Lars Syrstad)
  597.  
  598. *** III.7 But you said all LPMuds use LPC!
  599. Yes, they do.  However, they do not all use the same mudlib.  The
  600. mudlib is the basic LPC files you make use of then you write your LPC
  601. files.  The LPMud server in turn interprets your files and stores
  602. them in memory.  Two MUDs using different mudlibs therefore can be
  603. wildly different from one another.  And since the mudlibs are so
  604. different, the files you will write will be equally different.
  605.  
  606. An analogy might be that of a human dialect.  Quebecois French and
  607. Continental French often use different words and such in order to
  608. express ideas.  In spite of this, the language structure is the same.
  609. So, both are still French even though you sometimes need to say
  610. different things in order to mean the same thing.
  611.  
  612. In writing an object in LPC, you are almost always using the mudlib's
  613. LPC files rather than totally writing files from scratch.  You do this
  614. through something called inheritances.  Inherited code which exists on
  615. one mud may not exist on your mud, or may exist differently.
  616. Therefore when you try to use that code, it will not work as you
  617. expect even though both are in LPC.
  618.  
  619. *** III.8 My code is not working!  How do I fix it?
  620. 1) Determine if the problem is with:
  621.     a) the object failing to load
  622.     b) the code causing an error when it runs
  623.     c) no errors, it is just the expected things do not happen
  624. 2) Ok, you know what "type" of error you have.  Now you need to
  625. isolate it.  Isolating it depends on the type of bug...
  626.  
  627. a) the object fails to load.  You have the bug isolated for you you in
  628. your error file.  The location of the error log depends on the file
  629. name of the object with the error.  It also depends on the way your
  630. mudlib logs such errors.  Nightmare, for example, logs compile errors
  631. to /log/errors/std for obejcts in /std, etc, and /log/errors/descartes
  632. for objects from /realms/descartes.  TMI-2 would log my errors to
  633. /u/d/descartes/log.  I am not sure where the put mudlib errors.  I
  634. *know* with MudOS the driver does isolate the error for you to a
  635. useful degree of certainty.  More on this later.
  636.  
  637. For LPMud 3.2.1, you can use the:
  638. #pragma verbose_errors
  639. preprocessor directive to make compile time errors include a bit of
  640. context in error messages.  Some mudlibs turn this #pragma on by
  641. default.
  642.  
  643. b) an error occurs during execution.  These are logged in the mud's
  644. runtime error logged, and they ALWAYS reflect the exact line where
  645. something happened.  On MudOS muds before 0.9.20, the system runtime
  646. log was /log/debug.log.  The mudlib in later versions has the option
  647. of naming it whatever. 
  648.  
  649. Amylaar says:
  650. "Brought over from LPMud 3.[01].x , LPMud 3.2 uses
  651. /`hostname`/debug.log.  LPMud 3.2.1 allows you to pass the option
  652. --debug_file to change this default.  If there is a triple fault (i.e.
  653. an error while the master was processing an error in error
  654. processing), and you compiled the driver with the TRACE_CODE option,
  655. there will also be a trace of the last instructions executed.
  656. Moreover, if the driver is not out of memory, and there is no triple fault,
  657. the apply runtime_error() is called in the master, with the error message,
  658. file name, object name and line number as arguments."
  659.  
  660. Note that for drivers which can compile LPC code to C and then link it
  661. into the driver, no line number information will exist to help you in
  662. debugging.  You should therefore debug your LPC code thoroughly before
  663. compiling it to C.
  664.  
  665. c) no errors, you just do not get expected results.  These are the
  666. hardest to debug.  You need to go through the code and test 
  667.     i. WHICH CODE IS BEING EXECUTED
  668.     ii. THE VALUES OF THE VARIABLES IN THE EXECUTED CODE
  669. How do you do this?  Take the following code with a priveledges bug...
  670.  
  671. /* from /cmds/adm/_rid.c */
  672.  
  673. int cmd_rid(string str) {
  674.     if(!archp(previous_object())) return 0;
  675.     if(!str || !user_exists(str = lower_case(str))) return 0;
  676.     if(!((int)USERS_D->rid_user(str))) return 0;
  677.     message("system", "You rid "+capitalize(str)+".", previous_object());
  678.     return 1;
  679. }
  680.  
  681. /* EOF */
  682.  
  683. /* /secure/daemon/users.c */
  684.  
  685. int rid_user(string str) {
  686.     return rm(DIR_USERS+"/"+str[0..0]+"/"+str+SAVE_EXTENSION);
  687. }
  688.  
  689. /* OTHER CODE DELETED FOR BREVITY */
  690.  
  691. This is not real code (as a lot more should exist in such an
  692. operation).  However it does serve the point.  This code will load
  693. fine and execute without error.  However, it will not delete the save
  694. file of any user.  If anyone executes it, the following will happen:
  695.  
  696. > rid weenieplayer
  697. What?
  698.  
  699. So what do you know?  You know you typed "rid weenieplayer", and you
  700. know you got 0 returned.  One of the following things happened:
  701.  
  702. 1) The "rid" command never got executed.
  703. 2) The archp() returned false for the person executing the command.
  704. 3) For some reason, str was equal to 0.
  705. 4) rid_user() in users.c returned 0 to the command.
  706.  
  707.  
  708. How do you know if 1 is the problem?
  709. put the line...
  710. write("rid command executed") as the first line of the cmd_rid()
  711. function in the rid command.  If the rid command is executed, you will
  712. see that it is executed before you see "What?".  If it is not, you
  713. will just see "What?".  If you do not see that line in write(), then
  714. you know your bug is with you whatever calls the "rid" command.  If
  715. you do, then you know you must proceed further.
  716.  
  717. Do the same after each line which returns 0.  Make sure each write()
  718. string is unique so you know *which* line is being written out.  This
  719. will tell you exactly *which* line is returning 0 in the rid command.
  720.  
  721. In this case, it is #4 which is the problem.  The users daemon is
  722. returning 0 for for rid_user(). This means that rm() is definitely
  723. returning 0.  rm() only returns 0 when an rm fails.  rm() only fails
  724. when an object does not have proper access.  Therefore, in this case,
  725. you need to fix the bug in your security.
  726.  
  727. If for some reason you cannot go editing the files in question (i.e.
  728. they are in the base lib files to which you have no access, changing
  729. them would be even more troublesome, etc), you should consider the
  730. efuns trace() and traceprefix().
  731.  
  732. Do you need to go through all of these tedious steps?  No, you can
  733. generally make good guesses as to where to look the more familiar you
  734. become with the code.  For example, in this case you pretty much could
  735. have elimited step 1 if that command is an old command which used to
  736. work.  After all, it is highly unlikely that the mud would suddenyl
  737. stop executing that one command!
  738.  
  739. Furthermore, if you had just made a change to the security system, you
  740. would immediately suspect that rm() failed and thus would have checked
  741. that first.
  742.  
  743. This is why presenting me with your entier rid command would have been
  744. useless to me.  I would have looked at it and said it *looks* ok.  But
  745. I have no idea what changes you have recently made to your mud, nor do
  746. I know from looking at the code which of those lines is returning 0.
  747. I can only basically tell you that one of those lines is failing.
  748.  
  749. However, if you were to tell me that for some reason your user object
  750. was returning 0 in trying to rm() the user  file during the rid
  751. command, I could tell you details about the relevant parts of NM
  752. mudlib security to this daemon.  And then you could use that
  753. information to debug further and ultimately fix the bug.
  754.  
  755. *** III.9 What is an efun? an lfun? a kfun? a simul efun?...
  756. For any function in LPC, there are three distinct parts...
  757.     1) the prototype
  758.     2) the call
  759.     3) and the definition
  760.  
  761. Whate differentiates all of these different types of functions is
  762. *where* they are defined.  The definition of the function is the part
  763. which says what it does.  Therefore:
  764.     1) afun: Auto function (DGD only)
  765.        the function is defined in the auto object and behaves like
  766.        and efun from other drivers.  This function is really a
  767.        very special type of lfun.
  768.     2) apply
  769.        a function defined in the mudlib designed to be called only
  770.        by the driver.  All applies are also lfuns.  Most of the
  771.        functions in the DGD's driver object and other's master
  772.        object are applies.  In addition, the functions create(),
  773.        init(), and reset() are also applies for LPMud 3.2 (not
  774.        3.2.1), MudOS, CD, and Urimud.
  775.     3) efun: external function
  776.        this type of function is defined external with respect to
  777.        the mudlib.  In other words, in the driver.  Since it
  778.        is defined inside the driver, it is faster, but the
  779.        mudlib is left with little control over what it does.
  780.     4) kfun: kernel function (DGD only)
  781.        This type of function is much like an efun in that it
  782.        is defined external to the mudlib in the driver kernel.
  783.        There are some ways beyond the scope of this FAQ in which
  784.        kfuns differ from efuns, ways which have little bearing to
  785.        daily coding.
  786.     5) lfun: local function
  787.        Any function defined inside an object in the mudlib.  The
  788.        functions you write (like create() or reset()) are lfuns.
  789.         6) simul efun or sefun: Simulated External Function
  790.        lfuns defined in an object known as the simul efun object.
  791.        Any object in the mudlib is allowed to use these functions
  792.        as if they were efuns (treat them like local calls).
  793.  
  794. You might also want to keep in mind the difference between a local
  795. call and a call_other.  A local call is a call to a function defined
  796. in your object or to one of the objects it inherits.  A call other is
  797. a call to a function defined in another object.  Efuns and simul
  798. efuns, though not defined in your object, act like local calls.  Afuns
  799. and kfuns are in fact local calls, since all objects inherit the auto
  800. object to which they are local.
  801.  
  802. *** III.10 Can I take my area from LPMud X to LPMud Y?
  803. Can you?  If they use the same mudlib, yes.
  804. May you?  Often MUDs have restrictions against importing code in order
  805. to keep the MUD unique.
  806.  
  807. *** III.11 Can I code offline?
  808. This is a question best left to your admin, but in general, the answer
  809. is yes.  The advantages to coding offline are that you can use a
  810. visual editor like vi or emacs or *giggle* TeachText on your local
  811. machine where speeds are much faster.   The disadvantages are that you
  812. do not get the immediate feedback on how your server works that you
  813. get online, and you have to take the extra step of using ftp to
  814. transfer the files from your home machine to the MUD.  In order to
  815. know if you really can code offline or not, you need to find out from
  816. your MUD's admin if there is a way to ftp code into the MUD.
  817.  
  818. You might also want to consider getting a local copy of your mudlib to
  819. run on your computer at home.
  820.  
  821. Abigail also points out:
  822. "Actually, there is a way to code off-line without needing to ftp. If
  823. you have 2 windows and a mouse you can use to cut-and-paste text, you
  824. can make your file off-line in one window, and when you are done log
  825. in to the mud on the other window, start ed with the desired
  826. file-name, give the append command, and use cut-and-paste to copy the
  827. contents of the file form on window to another. Then close the ed
  828. session. For me, it is usually the fastest method to create small
  829. files (up to 100 lines), or to make patches." 
  830.  
  831. *** III.12 How do I put my code into the game?
  832. A file is considered "in the game" if another file already visible to
  833. players references it.  So, to put your stuff in the game, you need to
  834. change code already in the game to reference your code.  This action
  835. normally requires the action of MUD administrator.  Most MUDs have
  836. some sort of quality control policies which state rules for having
  837. your code reviewed.
  838.  
  839.          Section IV: Starting Your Own LPMud
  840.             ******************************
  841.  
  842. *** IV.1 How do I start my own LPMud?
  843. 1) Come up with a unique and interesting idea
  844. 2) Find a site
  845. Either:
  846.     3) Choose a server
  847.     4) Choose a mudlib
  848. Or:
  849.     3) Choose a mudlib
  850.     4) Choose a server
  851. Or:
  852.     3) Choose a server
  853.     4) Write your own mudlib
  854. Or:
  855.     3) Write your own server
  856.     4) Write your own mudlib
  857. 5) Define administrative policies
  858. 6) Find people to code areas for the MUD
  859. 7) Get some areas completed
  860. 8) Open to players (generally a good idea to beta test)
  861.  
  862. *** IV.2 How do I find a site?
  863. The most common method is to talk to the administrator of the machine
  864. from which you access MUDs and the rest of the Internet.  If the
  865. resources are available, they will often allow you to run your MUD
  866. server unless something political like a no-games policy is
  867. preventing it.  If you are not running a MUD as a game, however, this
  868. is not relevant.
  869.  
  870. Never run a MUD without talking to your system administrator.  LPMuds
  871. take up a lot of system resources, and many places simply cannot spare
  872. those resources on a single project, especially if the project is
  873. non-essential to the functioning of the entity running the machine.
  874. Not only is it just plain wrong to run a MUD without permission, it
  875. also predisposes sysadmins to saying no to people who ask them when
  876. the resources are free.
  877.  
  878. If you cannot run it on your local machine, post a note on the
  879. sites-wanted board at TMI-2.  Do not post to USENET newsgroups unless
  880. you have a working MUD.  It does not need to be complete, but posting
  881. notes saying "I have a cool idea, will someone give me a site" is
  882. inappropriate, unless that idea is completely fleshed out with some
  883. sweat in the form of work on paper and such.
  884.  
  885. Another avenue of finding a site is talking to local internet access
  886. providers.  Often, they have extra small machines on which a MUD could
  887. be run (sometimes for a fee).  The most expensive route is to buy your
  888. own machine and your own Internet hookup.
  889.  
  890. *** IV.3 Can I charge players to play my MUD?
  891. If you write the server from scratch AND you wrote your mudlib from
  892. scratch and you have agreements with the coders who wrote areas on
  893. your MUD, the answer, of course, is yes.  The above will take roughly
  894. 3-5 years of full-time work to accomplish as well :).
  895.  
  896. If you do not wish to go through 3-5 years of developing your own
  897. server and mudlib, then your only choice is to use the DGD LPMud
  898. server and pay its creator, Dworkin, a monthly fee.  You will also
  899. have to develop your own mudlib, as no mudlib currently exists for DGD
  900. which can be used commercially.
  901.  
  902. *** IV.4 Why can't I use any of the other servers or mudlibs?
  903. They all come with some variation of the same copyright.  Since all
  904. drivers except DGD were derived from LPMud 3.0, they all require a
  905. copyright at least as strict as that one, which basically states that
  906. you can use the server as you like, so long as you do not make a
  907. profit off of its use.  Most current servers have much more strict
  908. and explicitly copyrights.  On top of that, many of the mudlibs which
  909. exist also have similar copyrights.  To require money of your players
  910. is therefore a violation of international copyright laws.
  911.  
  912. *** IV.5 Our system needs upgrading, can't I get donations?
  913. Yes, you can request that your players donate money as long as the end
  914. of that money is to run the MUD and donations are not a prerequisite
  915. for play on the MUD.  In other words, they must be donations, not
  916. fees.
  917.  
  918. *** NOTE ***
  919. I am not a lawyer, nor am I the author of all the MUD code out
  920. there...  Therefore, keep in mind that what I am saying about
  921. copyrights is my interpretation and not binding upon ANY of the
  922. server or mudlib authors out there.  For reference to what is binding
  923. with respect to my code, see the copyright notice which accompanies
  924. it.
  925.  
  926. *** IV.6 I have a site, now how do I choose a server/mudlib?
  927. Some people have a favourite mudlib, and therefore go at building
  928. their own MUD from the angle of using that mudlib.  Others have a
  929. favourite server and start from that angle.  Others simply want to
  930. start a MUD fast, while others want to really tinker with it and make
  931. it their own.  The following is a rough guide to what is out there:
  932.  
  933. *** NOTE ***
  934. In this section, I make two uses of the word "native".  In one sense,
  935. I use the word alone when referencing whether a mudlib is "native to"
  936. a particular driver, meaning that it was written to work specifically
  937. with that driver.  The opposite of native in this context is
  938. non-native.  The other use is in the sense of "native mode", meaning
  939. LPMud 3.0 style.  Native mode is often identified through the use of
  940. UID security and other 3.0 features.  The opposite of native mode is
  941. compat mode, which means LPMud 2.4.5 compatible.
  942.  
  943. *** Servers (drivers) ***
  944. CD
  945. Generally considered a slow driver, however it is designed to work
  946. very closely with the CD-lib.  Therefore tests showing the CD driver
  947. to be slower are not necessrily fair as sole factors since they are
  948. mudlib-independent tests.  The CD-lib is considered a well designed
  949. lib which is often a factor which leads people to choose this server.
  950. To see a CD server MUD, visit Genesis.
  951.  
  952. DGD
  953. DGD is built on the belief that small is good.  This is absent of much
  954. of the extra baggage which exists in all other drivers since it was
  955. created from scratch.  There currently exist two native mudlibs for
  956. DGD, one of which is a MOO simulation.  DGD's documentation is sparse.  It
  957. does support compile time LPC->C compiling, meaning that when you
  958. compile the driver you can have some of your LPC files converted to C
  959. and compiled with the driver.  In addition, unlike other LPMud
  960. servers, it is disk-based, meaning you can run a huge MUD on
  961. virtually no RAM.  You therefore never need to reboot or save objects.
  962. Dark has written intermud support for DGD which can be gotten
  963. separately from the driver.
  964.  
  965. LPC4
  966. Maintained by Profezzorn, it supports a scripting feature that allows
  967. you to execute LPC files as atomic programs without running the MUD in
  968. the traditional sense.  In addition it features lambda closure types
  969. which are actually understandable to most people.  It is designed for
  970. speed through the philosophy of creating large numbers of efuns to
  971. perform CPU intensive work.  It runs only in native mode.  I know of no MUDs
  972. using this driver in practice.  LPC4 also has socket efuns with TCP support.
  973.  
  974. LPMud
  975. Considered the fastest of all the LPMud drivers, it supports both
  976. compat mode mudlibs (like LPMud 2.4.5) and native mode mudlibs (like LPMud
  977. 3.0).  It also has closures which are beyond general ease of
  978. comprehension.  There are few mudlibs in wide release native
  979. to this server.
  980.  
  981. MudOS
  982. The most feature-filled of the LPMud drivers, this one comes with TCP
  983. support for mudlib objects allowing you things like WWW, finger, SMTP,
  984. USENET, and other such access to Internet resources from inside the
  985. mud.  It also comes with a choice of well-developed mudlibs native to
  986. the server.  MudOS allows you to choose between UID support and
  987. no-UID support, which makes it easy to hack a LPMud 2.4.5 MUD to work
  988. with MudOS if that is your cup of tea.  Though significant speed gains
  989. have been made recently, LPMud 3.2 is still faster.  MudOS supports a
  990. new function pointer syntax which is as functional as LPMud's closures
  991. without LPMud's obscure closure syntax.
  992.  
  993. Urimud
  994. Urimud is descended directly from LPMud 2.4.5, as opposed to the other
  995. LPMud's (except DGD, which is created from scratch), which are all
  996. descended from LPMud 3.0.  Its most prominent feature is that it can
  997. handle running multiple MUDs on a single process.
  998.  
  999. *** mudlibs: ***
  1000.  
  1001. CD-lib
  1002. I am told this is a very well-designed mudlib.  Some features of it
  1003. are an enhanced sense of reality through player recognition (you must
  1004. make the acquaintance of players before knowing who they are) and UDP
  1005. intermud communications.
  1006. Runs under: CD (native)
  1007.  
  1008. Discworld
  1009. Advanced command parsing system and user interface, as well as many
  1010. concepts you will not see in other mudlibs for any server.  Too many
  1011. frogs and wombles.
  1012. Runs under: MudOS 0.9.20 (native)
  1013.  
  1014. Foundation I
  1015. A basic mudlib with nothing extra for people who want a solid design
  1016. base from which to design a unique mudlib.  No combat or anything else
  1017. fancy is included.  Nothing about it is pre-disposed towards fantasy
  1018. or even game playing for that matter.  On the positive side, there is
  1019. nothing to deconstruct in order to build your own mudlib and there is
  1020. more of a solid base to work from than something like Lil.  The
  1021. downside is that you will have to put in a lot of work to make a
  1022. playable game from this.
  1023. Runs under: MudOS v20.23 (native)
  1024.  
  1025. Heaven 7
  1026. Runs in both compat and native modes with autoconfiguration for
  1027. whichever driver you are chosing.  Since it runs under 3 different
  1028. drivers, you have the advantage of portability.  Security under native
  1029. mode is questionable, and it does not take full advantage of any one driver.
  1030. Runs under: LPMud 3.1.2 (native), LPMud 3.2 (non-native), MudOS (non-native)
  1031.  
  1032. Lil
  1033. A small, essentials only mudlib.  Designed basically to give you
  1034. examples of files as they must minimally be for the MudOS driver to
  1035. run.  Only useful if you plan really to write something totally from
  1036. scratch.
  1037. Runs under: MudOS (native)
  1038.  
  1039. LPMud 2.4.5
  1040. The most well-known mudlib in existence.  It is rather simple, not the
  1041. best design, but if you know it, it is useful.  Also, the widest range
  1042. of drivers support it. Good for putting up and running a MUD quickly.
  1043. It is very ancient and inferior in design, flexibility, and
  1044. functionality to modern mudlibs.
  1045. Runs under: DGD (non-native), LPMud 3.2(non-native), LPC4 (non-native)
  1046.  
  1047. Mellville
  1048. Designed for DGD.  I know absolutely nothing at all about it.
  1049. Runs under: DGD (native)
  1050.  
  1051. Nightmare 3.3.1
  1052. Nightmare is good for getting a mud up and run quickly for those who
  1053. are not necessarily experts and has an easy to handle intermud system.
  1054. It has a limbed-combat system, however, this system is not the most
  1055. effecient and is considered difficult to modify.  Nightmare has a
  1056. stack based security system that gets away the flaws of UID-based
  1057. security.  Also comes with WWW support. Just to be clear about
  1058. everything, however, I wrote this lib, so understand from which point
  1059. of view I am commenting. 
  1060. Runs under: MudOS v20.23 (native)
  1061.  
  1062. TMI-2 1.2
  1063. Generic, designed for those who want to tinker around with their
  1064. mudlib rather than get a MUD up in no-time flat.  Designed to be
  1065. easily modified and comes with a full-range of intermud support as
  1066. well WWW support.  Features include the ability to take over monster
  1067. bodies.  
  1068. Runs under: MudOS v20.23 (native)
  1069.  
  1070. TubMUD
  1071. Very intricate, and, according to Rust, "it is beautiful if you can
  1072. figure it out."  Intended more for Tub wizards to run at home than for
  1073. wide-release.
  1074. Runs under: LPMud 3.2 (native)
  1075.  
  1076. If I have missed a lib, or stated something incorrect about your
  1077. server or mudlib, or simply ommitted something, don't go flaming me.
  1078. Email me the correct information so I can include it in the FAQ.  I
  1079. did my best to be fair in this, but in simply undertaking this task I
  1080. have opened myself up to flames from anyone who I might have gotten
  1081. wrong or simply does not like what i said.  So please be gentle, and
  1082. understand I mean no malice or ill-will anywhere in there!
  1083.  
  1084. *** IV.7 Where can I find all this stuff?
  1085. The following are important ftp sites:
  1086.  
  1087. *** NOTE *** 
  1088. The sites listed are PRIMARY sites.
  1089. First try a site on your side of the Atlantic before attempting to
  1090. download across the ocean.  If you have any troubles looking for
  1091. something, always check out the following ftp sites for LPMud junk:
  1092.     actlab.rtf.utexas.edu
  1093.     bat.cs.hut.fi
  1094.     ftp.ccs.neu.edu
  1095.     ftp.lysator.liu.se
  1096.     ftp.imaginary.com
  1097.  
  1098. servers:
  1099. CD:        ftp.cd.chalmers.se
  1100. DGD:         ftp.lysator.liu.se    /pub/lpmud/drivers/dgd
  1101. LPC4:        ftp.lysator.liu.se    /pub/lpmud/drivers/profezzorn
  1102. LPMud 3.2:    ftp.ibr.cs.tu-bs.de     pub/games/lpmud/*3.2*@*.tar.gz
  1103. MudOS:         ftp.imaginary.com    /pub/LPC/servers/MudOS
  1104. Urimud:        ftp.netcom.com        /pub/urimud
  1105.  
  1106. mudlibs:
  1107. Basis:        actlab.rtf.utexas.edu
  1108. CD:        ftp.cd.chalmers.se
  1109. Discworld:     ftp.ccs.neu.edu
  1110. Foundation:    ftp.imaginary.com    /pub/LPC/lib/Foundation
  1111. Lil:         actlab.rtf.utexas.edu
  1112. LPMud 2.4.5:    ftp.lysator.liu.se
  1113. Mellville:    ftp.ccs.neu.edu
  1114. Nightmare:     ftp.imaginary.com    /pub/LPC/lib/Nightmare
  1115. TMI-2:         ftp.ccs.neu.edu
  1116.  
  1117. *** IV.8 Help! I can't get my driver to compile, what should I do?
  1118. Thanks to Rust for putting together an answer for this question.
  1119.  
  1120. First of all, learn how to redirect stderror to a file if you don't
  1121. already know how, or at least find a computer where you can cut and
  1122. paste.  Then, you have 3 options for getting these errors to a more
  1123. experienced driver person:
  1124.     a) You can try The Idea Exchange or TMI-2, two MUDs dedicated to MUD
  1125.     development, where people who may be able to solve your problem, 
  1126.     or at the very least you can post it on your target driver's 
  1127.     board on TMI-2 or the appropriate newsgroup on The Idea
  1128.     Exchange, where they will be seen by knowlegeable people 
  1129.     fairly quickly.
  1130.     b) You can post it to this newsgroup, but don't cross post, and it
  1131.     probably wastes a lot more bandwidth on this newsgroup than on
  1132.     The Idea Exchange or TMI-2.
  1133.     c) you can mail the maintainers of your driver:
  1134.     3.2: amylaar@meolyon.hanse.de
  1135.         MudOS: tim@hollebeek.hep.upenn.edu, apang@actlab.rtf.utexas.edu
  1136.         CD: jacob@dd.chalmers.se
  1137.         DGD: dworkin@hippolytos.cd.chalmers.se
  1138.         LPC4: hubbe@lysator.liu.se
  1139.         URIMUD: urimud@netcom.com
  1140.  
  1141. For MudOS help, you are most likely to get a timely response by
  1142. posting to the MudOS newsgroup on The Idea Exchange (imaginary.com 7890).
  1143. For 3.2 help, and probably DGD and URI help as well, you're probably
  1144. more likely to get a timely response by posting on the proper board on
  1145. TMI-2, since the creators and the people who use their drivers tend to
  1146. congregate there.  For LPC4, your best bet is direct mail, for CD,
  1147. either direct mail or visiting Genesis and mailing Tintin et al, and
  1148. for DGD you might also want to visit the pattern:  
  1149.         epsilon.me.chalmers.se 6047
  1150.  
  1151. *** IV.9 I have applied patch XXX, and now nothing works anymore.
  1152. (Answer from Joern Rennecke) Have you supplied the proper -p option to
  1153. patch?  If not, you might end up with a patch applied to the wrong
  1154. file.  Check with the appropriate man page to "patch" for more details.
  1155.  
  1156. *** IV.10 Can a MUD server run on DOS?
  1157. Yes, most of the servers have DOS binaries available.  In addition,
  1158. most of the mudlibs have had their files arranged and ported so they
  1159. fir in the FAT 8.3 naming scheme.  If you wish to allow others access
  1160. to the MUD over modem lines, be sure to get the comdrv17.com file with
  1161. your server and mudlib.  For those who choose mudlibs with colours in
  1162. them, the current batch of drivers was compiled in such a way that the
  1163. drivers do not send output through ANSI.SYS (thus no colour).
  1164.  
  1165. *** IV.11 Can a MUD run under AmigaOS? OS/2? Windows NT? etc...?
  1166. These are the ports of which I am aware:
  1167.  
  1168. AmigaOS:
  1169.     DGD
  1170.     LPMud 3.2
  1171.     MudOS
  1172.  
  1173. Atari:
  1174.     DGD
  1175.     LPMud 3.2
  1176.  
  1177. System 6 & 7:
  1178.     MacMud 3.2 which is LPMud 3.1.2 (MacTCP required)
  1179.  
  1180. OS/2:
  1181.     LPMud 3.2
  1182.         MudOS
  1183.  
  1184. Windows NT:
  1185.     Ha ha ha ha!  Nothing runs on Windows NT!
  1186.  
  1187. **********
  1188.  
  1189. Please mail corrections or additions to the address in my .signature.
  1190. --
  1191. George Reese (borg@imaginary.com)          http://www.winternet.com/~borg/
  1192. phone/fax: (612) 829-5495                  ftp://ftp.imaginary.com/users/borg
  1193.    "No one ever conquered Wyoming from the left or from the right."
  1194.                                               -Camper Van Beethoven
  1195.